using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("DragRotator")]
	public class DragRotator : MonoBehaviour
	{
		public static float EPSILON => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "DragRotator", "EPSILON");

		public static float SMOOTH_DAMP_SEC_FUDGE => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "DragRotator", "SMOOTH_DAMP_SEC_FUDGE");

		public DragRotatorInfo m_info => method_3<DragRotatorInfo>("m_info");

		public float m_pitchDeg => method_2<float>("m_pitchDeg");

		public float m_rollDeg => method_2<float>("m_rollDeg");

		public float m_pitchVel => method_2<float>("m_pitchVel");

		public float m_rollVel => method_2<float>("m_rollVel");

		public Vector3 m_prevPos => method_2<Vector3>("m_prevPos");

		public Vector3 m_originalAngles => method_2<Vector3>("m_originalAngles");

		public DragRotator(IntPtr address, string className)
			: base(address, className)
		{
		}

		public DragRotator(IntPtr address)
			: this(address, "DragRotator")
		{
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void Update()
		{
			method_8("Update");
		}

		public DragRotatorInfo GetInfo()
		{
			return method_14<DragRotatorInfo>("GetInfo", Array.Empty<object>());
		}

		public void SetInfo(DragRotatorInfo info)
		{
			method_8("SetInfo", info);
		}

		public void Reset()
		{
			method_8("Reset");
		}
	}
}
